package com.jt.www.model.remote.ins;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jt.www.enums.issue.InvoiceTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 投保中心管理端面返回的查询对象
 */

@ApiModel(description = "教育渠道, 投保单列表显示字段, 封装实体")
public class InsManagerResultVO extends InsExtendVO {

    @ApiModelProperty(value = "实付金额")
    private String actualPrem;
    @ApiModelProperty(value = "优惠后金额")
    private String afterPrem;
    @ApiModelProperty(value = "投保类型 y-续保；n-新保")
    private String renewal;
    @ApiModelProperty(value = "优惠前金额")
    private String beforePrem;
    @ApiModelProperty(value = "机构编码")
    private String branchCode;
    @ApiModelProperty(value = "机构名称")
    private String branchName;
    @ApiModelProperty(value = "渠道编码")
    private String channelCode;
    @ApiModelProperty(value = "渠道名称")
    private String channelName;
    @ApiModelProperty(value = "市编码")
    private String cityCode;
    @ApiModelProperty(value = "市名")
    private String cityName;
    @ApiModelProperty(value = "区县编码")
    private String countyCode;
    @ApiModelProperty(value = "区县名称")
    private String countyName;

    @ApiModelProperty(value = "出单公司编码")
    private String issueCompanyCode;
    @ApiModelProperty(value = "出单公司名称")
    private String issueCompanyName;
    @ApiModelProperty(value = "出单状态")
    private String issueStatus;
    @ApiModelProperty(value = "出单日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private String issueDate;
    @ApiModelProperty(value = "保单保费")
    private String premium;
    @ApiModelProperty(value = "方案金额-主险金额")
    private String mainRiskPrem;
    @ApiModelProperty(value = "方案金额-附加险金额")
    private String addRiskPrem;
    @ApiModelProperty(value = "支付类型")
    private String payType;
    @ApiModelProperty(value = "到帐时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private String payDate;
    @ApiModelProperty(value = "产品编码")
    private String productCode;
    @ApiModelProperty(value = "产品名称")
    private String productName;
    @ApiModelProperty(value = "项目编码")
    private String projectCode;
    @ApiModelProperty(value = "项目名称")
    private String projectName;
    @ApiModelProperty(value = "省编码")
    private String provinceCode;
    @ApiModelProperty(value = "省名称")
    private String provinceName;
    @ApiModelProperty(value = "优惠金额")
    private String reducePremium;
    @ApiModelProperty(value = "投保单号")
    private String appCode;
    @ApiModelProperty(value = "投保日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private String applicationDate;
    @ApiModelProperty(value = "订单号")
    private String orderCode;
    @ApiModelProperty(value = "保险起期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private String polStartDate;
    @ApiModelProperty(value = "保险止期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private String polEndDate;
    @ApiModelProperty(value = "投保单状态")
    private String appStatus;
    @ApiModelProperty(value = "财务状态")
    private String financeStatus;

    @ApiModelProperty(value = "投保人userCode")
    private String holderCode;
    @ApiModelProperty(value = "投保人姓名")
    private String holderName;
    @ApiModelProperty(value = "投保人联系邮箱")
    private String holderEmail;
    @ApiModelProperty(value = "投保人证件号")
    private String holderCardCode;
    @ApiModelProperty(value = "投保人地址")
    private String holderLocation;
    @ApiModelProperty(value = "投保人邮编")
    private String holderZipcode;
    @ApiModelProperty(value = "投保人电话-我学保")
    private String holderPhone;
    @ApiModelProperty(value = "投保人学校性质")
    private String holderSchoolNature;

    @ApiModelProperty(value = "保单号")
    private String insurancePolicyNo;
    @ApiModelProperty(value = "保单状态")
    private String policyStatus;

    @ApiModelProperty(value = "联系人名称")
    private String linkPerson;
    @ApiModelProperty(value = "联系人电话")
    private String linkTel;
    @ApiModelProperty(value = "联系人地址")
    private String location;
    @ApiModelProperty(value = "联系人手机号")
    private String linkPhone;
    @ApiModelProperty(value = "邮箱地址")
    private String email;

    @ApiModelProperty(value = "被保人姓名")
    private String insuredName;
    @ApiModelProperty(value = "被保险人 00.教育-组织机构代码 02.我学保-证件号")
    private String insuredCardCode;
    @ApiModelProperty(value = "被保险人邮编")
    private String insuredZipcode;
    @ApiModelProperty(value = "投保人数")
    private String insuredCount;
    @ApiModelProperty(value = "被保人学校性质")
    private String insuredSchoolNature;

    @ApiModelProperty(value = "发票类型 00:电子发票, 01:纸质专票, 02:纸质普票")
    private String invoiceType;
    @ApiModelProperty(value = "发票类型描述 00:电子发票, 01:纸质专票, 02:纸质普票")
    private String invoiceTypeDesc;
    @ApiModelProperty(value = "发票邮寄地址")
    private String mailAddress;


    @ApiModelProperty(value = "基本险保费(单价)")
    private String mainBasicPrem;
    @ApiModelProperty(value = "附加险保费(单价)")
    private String addBasicPrem;

    @ApiModelProperty(value = "商户订单号")
    private String tradeNo;


    /**
     * 山东跟单号
     */
    @ApiModelProperty(value = "阳光跟单号")
    private String ygInsuranceNo;
    @ApiModelProperty(value = "永安跟单号")
    private String yaInsuranceNo;
    @ApiModelProperty(value = "平安跟单号")
    private String paInsuranceNo;
    @ApiModelProperty(value = "人保跟单号")
    private String rbInsuranceNo;
    @ApiModelProperty(value = "国寿跟单号")
    private String gsInsuranceNo;
    @ApiModelProperty(value = "太保跟单号")
    private String tbInsuranceNo;
    @ApiModelProperty(value = "中华联合跟单号")
    private String zhlhInsuranceNo;
    @ApiModelProperty(value = "大地跟单号")
    private String ddInsuranceNo;

    /**
     * 类型转换
     *
     * @return
     */
    public String getInvoiceTypeDesc() {
        return InvoiceTypeEnum.getDescByType(invoiceType);
    }

    public void setInvoiceTypeDesc(String invoiceTypeDesc) {
        this.invoiceTypeDesc = invoiceTypeDesc;
    }

    public String getActualPrem() {
        return actualPrem;
    }

    public void setActualPrem(String actualPrem) {
        this.actualPrem = actualPrem;
    }

    public String getAfterPrem() {
        return afterPrem;
    }

    public void setAfterPrem(String afterPrem) {
        this.afterPrem = afterPrem;
    }

    public String getRenewal() {
        return renewal;
    }

    public void setRenewal(String renewal) {
        this.renewal = renewal;
    }

    public String getBeforePrem() {
        return beforePrem;
    }

    public void setBeforePrem(String beforePrem) {
        this.beforePrem = beforePrem;
    }

    public String getBranchCode() {
        return branchCode;
    }

    public void setBranchCode(String branchCode) {
        this.branchCode = branchCode;
    }

    public String getBranchName() {
        return branchName;
    }

    public void setBranchName(String branchName) {
        this.branchName = branchName;
    }

    public String getChannelCode() {
        return channelCode;
    }

    public void setChannelCode(String channelCode) {
        this.channelCode = channelCode;
    }

    public String getChannelName() {
        return channelName;
    }

    public void setChannelName(String channelName) {
        this.channelName = channelName;
    }

    public String getCityCode() {
        return cityCode;
    }

    public void setCityCode(String cityCode) {
        this.cityCode = cityCode;
    }

    public String getCityName() {
        return cityName;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName;
    }

    public String getCountyCode() {
        return countyCode;
    }

    public void setCountyCode(String countyCode) {
        this.countyCode = countyCode;
    }

    public String getCountyName() {
        return countyName;
    }

    public void setCountyName(String countyName) {
        this.countyName = countyName;
    }

    public String getIssueCompanyCode() {
        return issueCompanyCode;
    }

    public void setIssueCompanyCode(String issueCompanyCode) {
        this.issueCompanyCode = issueCompanyCode;
    }

    public String getIssueCompanyName() {
        return issueCompanyName;
    }

    public void setIssueCompanyName(String issueCompanyName) {
        this.issueCompanyName = issueCompanyName;
    }

    public String getIssueStatus() {
        return issueStatus;
    }

    public void setIssueStatus(String issueStatus) {
        this.issueStatus = issueStatus;
    }

    public String getIssueDate() {
        return issueDate;
    }

    public void setIssueDate(String issueDate) {
        this.issueDate = issueDate;
    }

    public String getPremium() {
        return premium;
    }

    public void setPremium(String premium) {
        this.premium = premium;
    }

    public String getMainRiskPrem() {
        return mainRiskPrem;
    }

    public void setMainRiskPrem(String mainRiskPrem) {
        this.mainRiskPrem = mainRiskPrem;
    }

    public String getAddRiskPrem() {
        return addRiskPrem;
    }

    public void setAddRiskPrem(String addRiskPrem) {
        this.addRiskPrem = addRiskPrem;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public String getPayDate() {
        return payDate;
    }

    public void setPayDate(String payDate) {
        this.payDate = payDate;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getProvinceCode() {
        return provinceCode;
    }

    public void setProvinceCode(String provinceCode) {
        this.provinceCode = provinceCode;
    }

    public String getProvinceName() {
        return provinceName;
    }

    public void setProvinceName(String provinceName) {
        this.provinceName = provinceName;
    }

    public String getReducePremium() {
        return reducePremium;
    }

    public void setReducePremium(String reducePremium) {
        this.reducePremium = reducePremium;
    }

    public String getAppCode() {
        return appCode;
    }

    public void setAppCode(String appCode) {
        this.appCode = appCode;
    }

    public String getApplicationDate() {
        return applicationDate;
    }

    public void setApplicationDate(String applicationDate) {
        this.applicationDate = applicationDate;
    }

    public String getOrderCode() {
        return orderCode;
    }

    public void setOrderCode(String orderCode) {
        this.orderCode = orderCode;
    }

    public String getPolStartDate() {
        return polStartDate;
    }

    public void setPolStartDate(String polStartDate) {
        this.polStartDate = polStartDate;
    }

    public String getPolEndDate() {
        return polEndDate;
    }

    public void setPolEndDate(String polEndDate) {
        this.polEndDate = polEndDate;
    }

    public String getAppStatus() {
        return appStatus;
    }

    public void setAppStatus(String appStatus) {
        this.appStatus = appStatus;
    }

    public String getFinanceStatus() {
        return financeStatus;
    }

    public void setFinanceStatus(String financeStatus) {
        this.financeStatus = financeStatus;
    }

    public String getHolderCode() {
        return holderCode;
    }

    public void setHolderCode(String holderCode) {
        this.holderCode = holderCode;
    }

    public String getHolderName() {
        return holderName;
    }

    public void setHolderName(String holderName) {
        this.holderName = holderName;
    }

    public String getHolderEmail() {
        return holderEmail;
    }

    public void setHolderEmail(String holderEmail) {
        this.holderEmail = holderEmail;
    }

    public String getHolderCardCode() {
        return holderCardCode;
    }

    public void setHolderCardCode(String holderCardCode) {
        this.holderCardCode = holderCardCode;
    }

    public String getHolderLocation() {
        return holderLocation;
    }

    public void setHolderLocation(String holderLocation) {
        this.holderLocation = holderLocation;
    }

    public String getHolderZipcode() {
        return holderZipcode;
    }

    public void setHolderZipcode(String holderZipcode) {
        this.holderZipcode = holderZipcode;
    }

    public String getHolderPhone() {
        return holderPhone;
    }

    public void setHolderPhone(String holderPhone) {
        this.holderPhone = holderPhone;
    }

    public String getHolderSchoolNature() {
        return holderSchoolNature;
    }

    public void setHolderSchoolNature(String holderSchoolNature) {
        this.holderSchoolNature = holderSchoolNature;
    }

    public String getInsurancePolicyNo() {
        return insurancePolicyNo;
    }

    public void setInsurancePolicyNo(String insurancePolicyNo) {
        this.insurancePolicyNo = insurancePolicyNo;
    }

    public String getPolicyStatus() {
        return policyStatus;
    }

    public void setPolicyStatus(String policyStatus) {
        this.policyStatus = policyStatus;
    }

    public String getLinkPerson() {
        return linkPerson;
    }

    public void setLinkPerson(String linkPerson) {
        this.linkPerson = linkPerson;
    }

    public String getLinkTel() {
        return linkTel;
    }

    public void setLinkTel(String linkTel) {
        this.linkTel = linkTel;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getLinkPhone() {
        return linkPhone;
    }

    public void setLinkPhone(String linkPhone) {
        this.linkPhone = linkPhone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getInsuredName() {
        return insuredName;
    }

    public void setInsuredName(String insuredName) {
        this.insuredName = insuredName;
    }

    public String getInsuredCardCode() {
        return insuredCardCode;
    }

    public void setInsuredCardCode(String insuredCardCode) {
        this.insuredCardCode = insuredCardCode;
    }

    public String getInsuredZipcode() {
        return insuredZipcode;
    }

    public void setInsuredZipcode(String insuredZipcode) {
        this.insuredZipcode = insuredZipcode;
    }

    public String getInsuredCount() {
        return insuredCount;
    }

    public void setInsuredCount(String insuredCount) {
        this.insuredCount = insuredCount;
    }

    public String getInsuredSchoolNature() {
        return insuredSchoolNature;
    }

    public void setInsuredSchoolNature(String insuredSchoolNature) {
        this.insuredSchoolNature = insuredSchoolNature;
    }

    public String getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(String invoiceType) {
        this.invoiceType = invoiceType;
    }

    public String getMailAddress() {
        return mailAddress;
    }

    public void setMailAddress(String mailAddress) {
        this.mailAddress = mailAddress;
    }

    public String getMainBasicPrem() {
        return mainBasicPrem;
    }

    public void setMainBasicPrem(String mainBasicPrem) {
        this.mainBasicPrem = mainBasicPrem;
    }

    public String getAddBasicPrem() {
        return addBasicPrem;
    }

    public void setAddBasicPrem(String addBasicPrem) {
        this.addBasicPrem = addBasicPrem;
    }

    public String getTradeNo() {
        return tradeNo;
    }

    public void setTradeNo(String tradeNo) {
        this.tradeNo = tradeNo;
    }

    public String getYgInsuranceNo() {
        return ygInsuranceNo;
    }

    public void setYgInsuranceNo(String ygInsuranceNo) {
        this.ygInsuranceNo = ygInsuranceNo;
    }

    public String getYaInsuranceNo() {
        return yaInsuranceNo;
    }

    public void setYaInsuranceNo(String yaInsuranceNo) {
        this.yaInsuranceNo = yaInsuranceNo;
    }

    public String getPaInsuranceNo() {
        return paInsuranceNo;
    }

    public void setPaInsuranceNo(String paInsuranceNo) {
        this.paInsuranceNo = paInsuranceNo;
    }

    public String getRbInsuranceNo() {
        return rbInsuranceNo;
    }

    public void setRbInsuranceNo(String rbInsuranceNo) {
        this.rbInsuranceNo = rbInsuranceNo;
    }

    public String getGsInsuranceNo() {
        return gsInsuranceNo;
    }

    public void setGsInsuranceNo(String gsInsuranceNo) {
        this.gsInsuranceNo = gsInsuranceNo;
    }

    public String getTbInsuranceNo() {
        return tbInsuranceNo;
    }

    public void setTbInsuranceNo(String tbInsuranceNo) {
        this.tbInsuranceNo = tbInsuranceNo;
    }

    public String getZhlhInsuranceNo() {
        return zhlhInsuranceNo;
    }

    public void setZhlhInsuranceNo(String zhlhInsuranceNo) {
        this.zhlhInsuranceNo = zhlhInsuranceNo;
    }

    public String getDdInsuranceNo() {
        return ddInsuranceNo;
    }

    public void setDdInsuranceNo(String ddInsuranceNo) {
        this.ddInsuranceNo = ddInsuranceNo;
    }
}
